package com.mars.admin.common.request.activity;

import com.mars.admin.common.group.QueryGroup;
import com.mars.admin.common.group.UpdateGroup;
import com.mars.admin.common.request.BasePageRequest;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.math3.analysis.function.Add;
import org.apache.ibatis.annotations.Update;

/**
 * 分类查询
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ActivityCategoryRequest extends BasePageRequest {

    /**
     * 分类ID
     */
    @Id(keyType = KeyType.Auto)
    @Schema(description = "分类ID", example = "1")
    private Long id;

    /**
     * 父分类ID，0为根分类
     */
    @Schema(description = "父分类ID", example = "0")
    private Long parentId;

    /**
     * 分类名称
     */
    @NotBlank(message = "分类名称不能为空",groups = {QueryGroup.class, UpdateGroup.class})
    @Schema(description = "分类名称", example = "户外运动")
    private String name;

    /**
     * 分类图标
     */
    @Schema(description = "分类图标", example = "icon-outdoor")
    private String icon;

    /**
     * 分类封面图
     */
    @Schema(description = "分类封面图", example = "https://example.com/cover.jpg")
    private String coverImage;

    /**
     * 分类描述
     */
    @Schema(description = "分类描述", example = "户外运动类活动")
    private String description;

    /**
     * 排序
     */
    @Schema(description = "排序", example = "1")
    private Integer sortOrder;

    /**
     * 是否热门：0-否，1-是
     */
    @Schema(description = "是否热门", example = "1")
    private Integer isHot;

    /**
     * 状态：0-禁用，1-启用
     */
    @Schema(description = "状态", example = "1")
    private Integer status;

}
